package top.tangyh.lamp.care.vo.save;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Size;
import java.time.LocalDateTime;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
import lombok.experimental.Accessors;
import java.io.Serializable;

/**
 * <p>
 * 表单保存方法VO
 * 医嘱实际执行表
 * </p>
 *
 * @author zqb
 * @date 2024-07-22 15:09:14
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@ToString(callSuper = true)
@Accessors(chain = true)
@EqualsAndHashCode
@Builder
@Schema(description = "医嘱实际执行")
public class BHl7YzYaoExeSaveVO implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 病人识别号
     */
    @Schema(description = "病人识别号")
    @Size(max = 32, message = "病人识别号长度不能超过{max}")
    private String patientIdent;
    /**
     * 住院号
     */
    @Schema(description = "住院号")
    @Size(max = 32, message = "住院号长度不能超过{max}")
    private String hospitalNumber;
    /**
     * 医嘱id(没有强制关联id，测体温则为-1)
     */
    @Schema(description = "医嘱id(没有强制关联id，测体温则为-1)")
    @Size(max = 64, message = "医嘱id(没有强制关联id，测体温则为-1)长度不能超过{max}")
    private String orderId;
    /**
     * 频次名称
     */
    @Schema(description = "频次名称")
    @Size(max = 16, message = "频次名称长度不能超过{max}")
    private String repeatName;
    /**
     * 医嘱类型名称
     */
    @Schema(description = "医嘱类型名称")
    @Size(max = 16, message = "医嘱类型名称长度不能超过{max}")
    private String yzTypeName;
    /**
     * 对应执行计划的执行id
     */
    @Schema(description = "对应执行计划的执行id")
    private Integer exeId;
    /**
     * 执行开始时间
     */
    @Schema(description = "执行开始时间")
    private LocalDateTime startTime;
    /**
     * 执行结束时间
     */
    @Schema(description = "执行结束时间")
    private LocalDateTime endTime;
    /**
     * 执行项目名称
     */
    @Schema(description = "执行项目名称")
    @Size(max = 255, message = "执行项目名称长度不能超过{max}")
    private String exeName;
    /**
     * 执行数量
     */
    @Schema(description = "执行数量")
    @Size(max = 16, message = "执行数量长度不能超过{max}")
    private String exeCount;
    /**
     * 执行人姓名
     */
    @Schema(description = "执行人姓名")
    @Size(max = 32, message = "执行人姓名长度不能超过{max}")
    private String exeUserName;
    /**
     * 执行情况(CP完成RE拒绝NA未使用PA部分执行)
     */
    @Schema(description = "执行情况(CP完成RE拒绝NA未使用PA部分执行)")
    @Size(max = 16, message = "执行情况(CP完成RE拒绝NA未使用PA部分执行)长度不能超过{max}")
    private String exeStatusIdent;
    /**
     * 用药目的
     */
    @Schema(description = "用药目的")
    @Size(max = 32, message = "用药目的长度不能超过{max}")
    private String md;
    /**
     * 是否自定义插入
     */
    @Schema(description = "是否自定义插入")
    @NotNull(message = "请填写是否自定义插入")
    private Integer isDiy;
    /**
     * 
     */
    @Schema(description = "")
    @NotNull(message = "请填写")
    private Integer isDeleted;



}
